package com.xf.day02

import scala.util.control.Breaks
import scala.util.control.Breaks._
/**
 * 注意:
 *    1.采用 Scala 自带的函数，退出循环
 *      使用 Breaks 中的  breakable 和 break 来实现 break 和 continue
 */
object LoopInteruptDemo {
  def main(args: Array[String]): Unit = {

    continueTest()
  }

  // 使用 break() 实现 continue 的功能
  private def continueTest(): Unit = {
    for (i <- 0 to 5) {
      breakable {
        if (i == 3) break()
        println(i)
      }
    }
  }

  //  1.使用  breakable.break 实现 java 中的 break 功能
  private def BreaksMethod02(): Unit = {
    // 简写
    breakable {
      for (i <- 0 until 8) {
        if (i == 5) {
          break()
        }
        println(i)
      }
    }
  }

  // Breaks 中的操作
  //  1.使用  breakable.break 实现 java 中的 break 功能
  private def BreaksMethod01(): Unit = {
    Breaks.breakable {
      for (i <- 0 until 5) {
        if (i == 3) {
          Breaks.break()
        }
        println(i)
      }
    }
  }

  // 具体的打印的方法
  private def BreakTest01(): Unit = {
    try {
      for (i <- 0 until 5) {

        println(i)
        if (i == 3) {
          throw new RuntimeException()
        }
      }
    } catch {
      // 什么都不做，直接退出
      case e: Exception =>
    }
  }
}
